<?php

include_once(dirname(__FILE__)."\Conexao.php");
include_once(dirname(__FILE__)."\SetorDAO.php");
include_once(dirname(dirname(__FILE__))."\classes\Pedido.php");

/**
 * Classe PedidoDAO
 *
 * @author Falci
 * @package dao
 */
class PedidoDAO {

    public function  __construct() {
        new Conexao();
    }

    public function inserir($pedido,$retorno=false){
        $sql = "INSERT INTO pedido VALUES(0,null,".$pedido->getSetor()->getId().",'".$pedido->getData()."');";
        $temp = mysql_query($sql);

        if($retorno){
            return mysql_insert_id();
        } else {
            return $temp;
        }
    }

    public function alterar($pedido){
        $sql = "UPDATE pedido SET grupo_pedido=".$pedido->getGrupo().", setor=".$pedido->getSetor()->getId().", data='".$pedido->getData()."' WHERE id=".$pedido->getId().";";
        return mysql_query($sql);
    }

    public function excluir($pedido){
        // (ItemPedido) ON DELETE CASCADE;
        if(is_object($pedido)){
            $sql = "DELETE FROM pedido WHERE id=".$pedido->getId().";";
        } else {
            $sql = "DELETE FROM pedido WHERE id=$pedido;";
        }
        return mysql_query($sql);
    }

    public function listar(){
        $array = Array();
        $query = mysql_query("SELECT * FROM pedido WHERE status=1 ORDER BY data");
        while ($row = mysql_fetch_object($query)) {
            $pedido = new Pedido;
            $setor = new SetorDAO;
            $pedido->setId($row->id);
            $pedido->setSetor($setor->buscaPorId($row->setor));
            $pedido->setData($row->data);
            $array []= $pedido;
        }

        return $array;
    }

    public function buscaPorId($id){
        $pedido = new Pedido;
        $setor = new SetorDAO;
        $query = mysql_query("SELECT * FROM pedido WHERE id=$id;");
        while ($row = mysql_fetch_object($query)) {
            $pedido->setId($row->id);
            $pedido->setSetor($setor->buscaPorId($row->setor));
            $pedido->setData($row->data);
        }

        return $pedido;
    }

    public function buscaPorSetorData($setor,$dia,$data=NULL){
        $pedido = new Pedido;
        if($data == null){
            $data = date("d/m/Y");
        }

        $d = explode("/",$data);
        if($d[0] <= $dia){
            $d1 = date("Y-m-d", mktime(0,0,0,$d[1]-1,$dia+1,$d[2]));
            $d2 = date("Y-m-d", mktime(0,0,0,$d[1],$dia,$d[2]));
        } else {
            $d1 = date("Y-m-d", mktime(0,0,0,$d[1],$dia+1,$d[2])); // Dia seguinte ao "$_CFG['ultimoDia']"
            $d2 = date("Y-m-d", mktime(0,0,0,$d[1]+1,$dia,$d[2]));
        }

        $query = mysql_query("SELECT * FROM pedido WHERE data BETWEEN '$d1' AND '$d2' AND setor=".$setor->getId().";");

        if(mysql_num_rows($query) == 0) return false;

        while ($row = mysql_fetch_object($query)) {
            $pedido->setId($row->id);
            $pedido->setSetor($setor);
            $pedido->setData($row->data);
        }

        return $pedido;
    }
}
?>